Алгоритм k-внутрішніх групових середніх.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Системи автоматизованого проектуваня

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Системи штучного інтелекту
Група:
КН-3

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” іНСТИТУТ КОМП’ютерних НАУК та ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ Кафедра “Системи автоматизованого проектування”  ЗВІТ до лабораторної роботи №3 на тему «Алгоритм k-внутрішніх групових середніх» з курсу «Системи штучного інтелекту» Виконав: ст. гр. КН.-3 Львів-2008 Текст програми: Program K_VNUTR; Uses CRT; const q = 12 ; kl = 3; type dis = record v:array [1..q] of real; t:array [1..q] of integer; end; var x : array [1..q] of integer; y : array [1..q] of integer; j,i,k:integer; d: array [1..kl] of dis; serx,sery:real; centre: array [1..kl] of integer; centrex: array [1..kl] of real; centrey: array [1..kl] of real; cx: array [1..kl] of real; cy: array [1..kl] of real; min:real; ok:boolean; Label next,quit; BEGIN clrscr;writeln; x[1]:= 0 ; y[1]:=4;x[2]:= 1 ; y[2]:=2; x[3]:= 2 ; y[3]:=3;x[4]:= 2 ; y[4]:=4; x[5]:= 5 ; y[5]:=0;x[6]:= 6 ; y[6]:=0; x[7]:= 7 ; y[7]:=0;x[8]:= 8 ; y[8]:=4; x[9]:= 8 ; y[9]:=5;x[10]:=9 ; y[10]:=4; x[11]:=9 ; y[11]:=5;x[12]:=11; y[12]:=11; writeln; textcolor(15); { For i:=1 to kl do begin centre[i]:=i; } centrex[1]:=x[1]; centrey[1]:=y[1]; centrex[2]:=x[6]; centrey[2]:=y[6]; centrex[3]:=x[12]; centrey[3]:=y[12]; For i:=1 to kl do writeln('Z',i,'(',centrex[i]:1:1,';',centrey[i]:1:1,');'); {end; } readln; NEXT:; clrscr; writeln; readln; textcolor(14); write(' Z1(',centrex[1]:1:1,';',centrey[1]:1:1,') '); For i:=2 to kl do if i=kl then writeln('Z',i,'(',centrex[i]:1:1,';',centrey[i]:1:1,')') else write('Z',i,'(',centrex[i]:1:1,';',centrey[i]:1:1,')',' '); textcolor(15); writeln; For i:=1 to kl do For j:=1 to q do d[i].v[j]:=sqrt(sqr((centrex[i]-x[j]))+sqr((centrey[i]-y[j]))); For i:=1 to q do begin if i<10 then write(' X',i,' (',x[i],';',y[i],')',' ') else if i>=13 then write(' X',i,'(',x[i],';',y[i],')',' ') else write(' X',i,'(',x[i],';',y[i],')',' '); For j:=1 to kl do begin textcolor(j*2); if j=kl then writeln(d[j].v[i]:2:1) else write(d[j].v[i]:2:1,' '); textcolor(15); end; end; writeln; For i:=1 to kl do For j:=1 to q do d[i].t[j]:=0; For i:=1 to q do begin min:=d[1].v[i]; k:=1; For j:=1 to kl do begin if min>d[j].v[i] then begin min:=d[j].v[i]; k:=j; end; end; d[k].t[i]:=1; end; For i:=1 to kl do begin serx:=0; sery:=0; k:=0; For j:=1 to q do if d[i].t[j]=1 then begin serx:=serx+x[j]; sery:=sery+y[j]; k:=k+1; end; if k<>0 then begin cx[i]:=serx/k; cy[i]:=sery/k; end; end; textcolor(3); For i:=1 to kl do writeln('Z(',i,') (x=',cx[i]:3:2,' y=',cy[i]:3:2,')'); textcolor(15); ok:=true; For i:=1 to kl do if (cx[i]<>centrex[i])and(cy[i]<>centrey[i]) then ok:=false; textcolor(4); if ok=false then begin writeln('***Potribno vykonaty shche odnu iteraciju***'); readln; end else writeln('***Obrahunok zaversheno***'); textcolor(15); if ok=false then begin For i:=1 to kl do begin centrex[i]:=cx[i]; centrey[i]:=cy[i]; end; goto next; end; quit:; readln; END. Результат виконання програми Z1(0.0;4.0); Z2(6.0;0.0); Z3(11.0;11.0); Z1(0.0;4.0) Z2(6.0;0.0) Z3(11.0;11.0) X1 (0;4) 0.0 7.2 13.0 X2 (1;2) 2.2 5.4 ...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини